home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Shareware / IDimager Personal 4.2.0.3 / setup_IDimager_Personal_V4.exe / {app} / Scripts / SearchScripts / Search GPS Data.idscript < prev    next >
Delphi Borland Form  |  2007-05-01  |  7.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: Delphi Borland Form (archive/borlandDelphiForm).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Delphi Borland Form (archive/borlandDelphiForm) magic Supported
100% file Delphi compiled form 'TScriptModel' default
99% file data default
100% TrID Borland Form (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 54 50 46 30 0c 54 53 63 | 72 69 70 74 4d 6f 64 65 |TPF0.TSc|riptMode|
|00000010| 6c 00 0a 4f 4d 44 61 74 | 61 54 79 70 65 07 08 64 |l..OMDat|aType..d|
|00000020| 74 53 79 73 74 65 6d 0a | 52 65 73 75 6c 74 43 6f |tSystem.|ResultCo|
|00000030| 64 65 02 00 0c 53 63 72 | 69 70 74 73 2e 47 55 49 |de...Scr|ipts.GUI|
|00000040| 44 06 26 7b 31 43 37 45 | 33 38 44 34 2d 36 30 46 |D.&{1C7E|38D4-60F|
|00000050| 36 2d 34 41 33 30 2d 42 | 41 38 33 2d 43 32 41 30 |6-4A30-B|A83-C2A0|
|00000060| 35 33 35 31 32 42 36 32 | 7d 07 53 63 72 69 70 74 |53512B62|}.Script|
|00000070| 73 0e 01 04 47 55 49 44 | 06 20 39 44 36 38 39 44 |s...GUID|. 9D689D|
|00000080| 37 37 39 38 36 35 34 33 | 41 30 38 30 43 38 38 33 |77986543|A080C883|
|00000090| 34 35 31 36 31 33 37 41 | 43 42 05 53 74 61 74 65 |4516137A|CB.State|
|000000a0| 07 0a 6f 6d 49 6e 73 65 | 72 74 65 64 0a 53 63 72 |..omInse|rted.Scr|
|000000b0| 69 70 74 4e 61 6d 65 06 | 1b 53 65 61 72 63 68 20 |iptName.|.Search |
|000000c0| 49 6d 61 67 65 73 20 77 | 69 74 68 20 47 50 53 20 |Images w|ith GPS |
|000000d0| 64 61 74 61 06 41 75 74 | 68 6f 72 06 0d 52 61 69 |data.Aut|hor..Rai|
|000000e0| 6e 65 72 20 5a 69 6c 6c | 65 72 10 53 68 6f 72 74 |ner Zill|er.Short|
|000000f0| 44 65 73 63 72 69 70 74 | 69 6f 6e 06 57 54 68 69 |Descript|ion.WThi|
|00000100| 73 20 73 63 72 69 70 74 | 20 77 69 6c 6c 20 73 65 |s script| will se|
|00000110| 61 72 63 68 20 74 68 72 | 6f 75 67 68 20 74 68 65 |arch thr|ough the|
|00000120| 20 63 61 74 61 6c 6f 67 | 20 61 6e 64 20 72 65 74 | catalog| and ret|
|00000130| 75 72 6e 20 61 6c 6c 20 | 69 6d 61 67 65 73 20 77 |urn all |images w|
|00000140| 69 74 68 2f 77 69 74 68 | 6f 75 74 20 47 50 53 20 |ith/with|out GPS |
|00000150| 64 61 74 61 0a 49 74 65 | 6d 73 2e 47 55 49 44 06 |data.Ite|ms.GUID.|
|00000160| 26 7b 35 34 35 46 38 42 | 41 44 2d 46 37 45 34 2d |&{545F8B|AD-F7E4-|
|00000170| 34 34 36 36 2d 41 36 45 | 34 2d 41 38 42 33 36 35 |4466-A6E|4-A8B365|
|00000180| 46 30 45 30 39 38 7d 05 | 49 74 65 6d 73 0e 01 04 |F0E098}.|Items...|
|00000190| 47 55 49 44 06 20 31 31 | 33 42 44 32 46 34 33 43 |GUID. 11|3BD2F43C|
|000001a0| 36 42 34 35 30 32 38 42 | 46 44 31 34 43 43 33 46 |6B45028B|FD14CC3F|
|000001b0| 44 35 34 36 38 42 05 53 | 74 61 74 65 07 0a 6f 6d |D5468B.S|tate..om|
|000001c0| 49 6e 73 65 72 74 65 64 | 08 49 74 65 6d 4e 61 6d |Inserted|.ItemNam|
|000001d0| 65 06 1b 53 65 61 72 63 | 68 20 49 6d 61 67 65 73 |e..Searc|h Images|
|000001e0| 20 77 69 74 68 20 47 50 | 53 20 64 61 74 61 12 53 | with GP|S data.S|
|000001f0| 6f 75 72 63 65 43 6f 64 | 65 2e 53 74 72 69 6e 67 |ourceCod|e.String|
|00000200| 73 01 06 48 70 72 6f 63 | 65 64 75 72 65 20 49 6e |s..Hproc|edure In|
|00000210| 69 74 69 61 6c 69 7a 65 | 3b 20 20 20 20 2f 2f 20 |itialize|; // |
|00000220| 75 73 65 20 74 68 69 73 | 20 70 72 6f 63 65 64 75 |use this| procedu|
|00000230| 72 65 20 66 6f 72 20 67 | 6c 6f 62 61 6c 20 69 6e |re for g|lobal in|
|00000240| 69 74 69 61 6c 69 7a 61 | 74 69 6f 6e 06 06 62 65 |itializa|tion..be|
|00000250| 67 69 6e 20 06 27 20 20 | 4d 61 69 6e 46 6f 72 6d |gin .' |MainForm|
|00000260| 2e 50 6f 73 69 74 69 6f | 6e 20 3a 3d 20 70 6f 53 |.Positio|n := poS|
|00000270| 63 72 65 65 6e 43 65 6e | 74 65 72 3b 20 06 4b 20 |creenCen|ter; .K |
|00000280| 20 72 64 62 47 50 53 2e | 43 68 65 63 6b 65 64 20 | rdbGPS.|Checked |
|00000290| 3a 3d 20 52 65 61 64 46 | 72 6f 6d 52 65 67 69 73 |:= ReadF|romRegis|
|000002a0| 74 72 79 20 28 27 53 63 | 72 69 70 74 73 5c 47 50 |try ('Sc|ripts\GP|
|000002b0| 53 53 65 61 72 63 68 27 | 2c 20 27 68 61 73 47 50 |SSearch'|, 'hasGP|
|000002c0| 53 27 2c 20 54 72 75 65 | 29 3b 06 2d 20 20 72 64 |S', True|);.- rd|
|000002d0| 62 47 50 53 4e 6f 2e 43 | 68 65 63 6b 65 64 20 3a |bGPSNo.C|hecked :|
|000002e0| 3d 20 72 64 62 47 50 53 | 2e 43 68 65 63 6b 65 64 |= rdbGPS|.Checked|
|000002f0| 20 3d 20 66 61 6c 73 65 | 3b 06 51 20 20 63 68 6b | = false|;.Q chk|
|00000300| 44 42 2e 43 68 65 63 6b | 65 64 20 3a 3d 20 52 65 |DB.Check|ed := Re|
|00000310| 61 64 46 72 6f 6d 52 65 | 67 69 73 74 72 79 20 28 |adFromRe|gistry (|
|00000320| 27 53 63 72 69 70 74 73 | 5c 47 50 53 53 65 61 72 |'Scripts|\GPSSear|
|00000330| 63 68 27 2c 20 27 64 6f | 46 61 73 74 53 65 61 72 |ch', 'do|FastSear|
|00000340| 63 68 27 2c 20 46 61 6c | 73 65 29 3b 06 04 65 6e |ch', Fal|se);..en|
|00000350| 64 3b 12 00 00 00 00 06 | 47 70 72 6f 63 65 64 75 |d;......|Gprocedu|
|00000360| 72 65 20 46 69 6e 61 6c | 69 7a 65 3b 20 20 20 20 |re Final|ize; |
|00000370| 20 20 2f 2f 20 75 73 65 | 20 74 68 69 73 20 70 72 | // use| this pr|
|00000380| 6f 63 65 64 75 72 65 20 | 66 6f 72 20 67 6c 6f 62 |ocedure |for glob|
|00000390| 61 6c 20 66 69 6e 61 6c | 69 7a 61 74 69 6f 6e 20 |al final|ization |
|000003a0| 06 05 62 65 67 69 6e 06 | 42 20 20 57 72 69 74 65 |..begin.|B Write|
|000003b0| 54 6f 52 65 67 69 73 74 | 72 79 20 28 27 53 63 72 |ToRegist|ry ('Scr|
|000003c0| 69 70 74 73 5c 47 50 53 | 53 65 61 72 63 68 27 2c |ipts\GPS|Search',|
|000003d0| 20 27 68 61 73 47 50 53 | 27 2c 20 72 64 62 47 50 | 'hasGPS|', rdbGP|
|000003e0| 53 2e 43 68 65 63 6b 65 | 64 29 3b 06 47 20 20 57 |S.Checke|d);.G W|
|000003f0| 72 69 74 65 54 6f 52 65 | 67 69 73 74 72 79 20 28 |riteToRe|gistry (|
|00000400| 27 53 63 72 69 70 74 73 | 5c 47 50 53 53 65 61 72 |'Scripts|\GPSSear|
|00000410| 63 68 27 2c 20 27 64 6f | 46 61 73 74 53 65 61 72 |ch', 'do|FastSear|
|00000420| 63 68 27 2c 20 63 68 6b | 44 42 2e 43 68 65 63 6b |ch', chk|DB.Check|
|00000430| 65 64 29 3b 06 04 65 6e | 64 3b 12 00 00 00 00 06 |ed);..en|d;......|
|00000440| 18 70 72 6f 63 65 64 75 | 72 65 20 70 62 53 65 61 |.procedu|re pbSea|
|00000450| 72 63 68 43 6c 69 63 6b | 3b 06 04 76 61 72 20 06 |rchClick|;..var .|
|00000460| 18 20 20 41 49 74 65 6d | 73 3a 20 54 43 61 74 61 |. AItem|s: TCata|
|00000470| 6c 6f 67 49 74 65 6d 73 | 3b 06 17 20 20 41 49 74 |logItems|;.. AIt|
|00000480| 65 6d 3a 20 54 43 61 74 | 61 6c 6f 67 49 74 65 6d |em: TCat|alogItem|
|00000490| 3b 20 06 16 20 20 41 49 | 6d 61 67 65 3a 20 54 49 |; .. AI|mage: TI|
|000004a0| 6d 61 67 65 49 74 65 6d | 3b 20 06 0d 20 20 41 54 |mageItem|; .. AT|
|000004b0| 69 66 3a 20 54 54 69 66 | 3b 06 11 20 20 41 54 61 |if: TTif|;.. ATa|
|000004c0| 67 3a 20 54 54 69 66 54 | 61 67 3b 20 06 0d 20 20 |g: TTifT|ag; .. |
|000004d0| 41 58 6d 70 3a 20 54 58 | 4d 50 3b 06 1a 20 20 41 |AXmp: TX|MP;.. A|
|000004e0| 50 61 72 61 6d 43 6f 6e | 74 65 6e 74 3a 20 56 61 |ParamCon|tent: Va|
|000004f0| 72 69 61 6e 74 3b 20 06 | 13 20 20 48 61 73 47 50 |riant; .|. HasGP|
|00000500| 53 3a 20 42 6f 6f 6c 65 | 61 6e 3b 20 06 0f 20 20 |S: Boole|an; .. |
|00000510| 41 47 6f 3a 20 42 6f 6f | 6c 65 61 6e 3b 06 1b 20 |AGo: Boo|lean;.. |
|00000520| 20 41 44 73 3a 20 54 44 | 42 58 4f 4d 43 6c 69 65 | ADs: TD|BXOMClie|
|00000530| 6e 74 44 61 74 61 53 65 | 74 3b 06 05 62 65 67 69 |ntDataSe|t;..begi|
|00000540| 6e 06 17 20 20 69 66 20 | 63 68 6b 44 42 2e 43 68 |n.. if |chkDB.Ch|
|00000550| 65 63 6b 65 64 20 74 68 | 65 6e 06 07 20 20 62 65 |ecked th|en.. be|
|00000560| 67 69 6e 06 21 20 20 20 | 20 53 63 72 65 65 6e 2e |gin.! | Screen.|
|00000570| 43 75 72 73 6f 72 20 3a | 3d 20 63 72 48 6f 75 72 |Cursor :|= crHour|
|00000580| 47 6c 61 73 73 3b 12 00 | 00 00 00 06 1e 20 20 20 |Glass;..|..... |
|00000590| 20 41 44 73 20 3a 3d 20 | 43 61 74 61 6c 6f 67 2e | ADs := |Catalog.|
|000005a0| 4e 65 77 44 61 74 61 73 | 65 74 3b 12 00 00 00 00 |NewDatas|et;.....|
|000005b0| 06 c1 20 20 20 20 41 44 | 73 2e 43 6f 6d 6d 61 6e |.. AD|s.Comman|
|000005c0| 64 54 65 78 74 20 3a 3d | 20 27 73 65 6c 65 63 74 |dText :=| 'select|
|000005d0| 20 20 69 2e 2a 20 66 72 | 6f 6d 20 76 5f 43 61 74 | i.* fr|om v_Cat|
|000005e0| 61 6c 6f 67 49 74 65 6d | 20 69 20 20 77 68 65 72 |alogItem| i wher|
|000005f0| 65 20 20 20 69 2e 47 55 | 49 44 20 27 2b 69 69 66 |e i.GU|ID '+iif|
|00000600| 28 72 64 62 47 50 53 2e | 43 68 65 63 6b 65 64 2c |(rdbGPS.|Checked,|
|00000610| 27 27 2c 27 6e 6f 74 27 | 29 2b 27 20 69 6e 20 28 |'','not'|)+' in (|
|00000620| 53 45 4c 45 43 54 20 44 | 49 53 54 49 4e 43 54 20 |SELECT D|ISTINCT |
|00000630| 49 6d 61 67 65 47 55 49 | 44 20 46 52 4f 4d 20 69 |ImageGUI|D FROM i|
|00000640| 64 49 6d 61 67 65 58 4d | 50 20 57 48 45 52 45 20 |dImageXM|P WHERE |
|00000650| 58 4d 50 5f 50 72 6f 70 | 65 72 74 79 20 4c 49 4b |XMP_Prop|erty LIK|
|00000660| 45 20 27 27 65 78 69 66 | 3a 47 50 53 25 27 27 29 |E ''exif|:GPS%'')|
|00000670| 3b 27 3b 06 1b 20 20 20 | 20 2f 2f 53 61 79 28 41 |;';.. | //Say(A|
|00000680| 44 73 2e 43 6f 6d 6d 61 | 6e 64 54 65 78 74 29 3b |Ds.Comma|ndText);|
|00000690| 06 0d 20 20 20 20 41 44 | 73 2e 4f 70 65 6e 3b 06 |.. AD|s.Open;.|
|000006a0| 27 20 20 20 20 53 65 61 | 72 63 68 52 65 73 75 6c |' Sea|rchResul|
|000006b0| 74 2e 49 74 65 6d 73 2e | 41 64 64 44 61 74 61 73 |t.Items.|AddDatas|
|000006c0| 65 74 20 28 41 44 73 29 | 06 0e 20 20 20 20 41 44 |et (ADs)|.. AD|
|000006d0| 73 2e 43 6c 6f 73 65 3b | 12 00 00 00 00 06 0d 20 |s.Close;|....... |
|000006e0| 20 20 20 41 44 73 2e 46 | 72 65 65 3b 12 00 00 00 | ADs.F|ree;....|
|000006f0| 00 06 1f 20 20 20 20 53 | 63 72 65 65 6e 2e 43 75 |... S|creen.Cu|
|00000700| 72 73 6f 72 20 3a 3d 20 | 63 72 44 65 66 61 75 6c |rsor := |crDefaul|
|00000710| 74 3b 06 21 20 20 20 20 | 4d 61 69 6e 46 6f 72 6d |t;.! |MainForm|
|00000720| 2e 4d 6f 64 61 6c 52 65 | 73 75 6c 74 20 3a 3d 20 |.ModalRe|sult := |
|00000730| 6d 72 4f 6b 3b 06 09 20 | 20 20 20 65 78 69 74 3b |mrOk;.. | exit;|
|00000740| 06 05 20 20 65 6e 64 12 | 00 00 00 00 06 1c 20 20 |.. end.|...... |
|00000750| 50 72 6f 67 72 65 73 73 | 2e 43 61 6e 63 65 6c 20 |Progress|.Cancel |
|00000760| 3a 3d 20 46 61 6c 73 65 | 3b 20 06 18 20 20 50 72 |:= False|; .. Pr|
|00000770| 6f 67 72 65 73 73 2e 55 | 73 65 50 72 6f 67 72 65 |ogress.U|seProgre|
|00000780| 73 73 3b 20 06 15 20 20 | 50 72 6f 67 72 65 73 73 |ss; .. |Progress|
|00000790| 2e 50 6f 73 20 3a 3d 20 | 30 3b 20 06 11 20 20 50 |.Pos := |0; .. P|
|000007a0| 72 6f 67 72 65 73 73 2e | 53 68 6f 77 3b 20 12 00 |rogress.|Show; ..|
|000007b0| 00 00 00 06 3e 20 20 50 | 72 6f 67 72 65 73 73 2e |....> P|rogress.|
|000007c0| 50 72 6f 67 72 65 73 73 | 54 65 78 74 20 3a 3d 20 |Progress|Text := |
|000007d0| 27 52 65 61 64 69 6e 67 | 20 61 6c 6c 20 69 6d 61 |'Reading| all ima|
|000007e0| 67 65 73 20 69 6e 20 63 | 61 74 61 6c 6f 67 2e 2e |ges in c|atalog..|
|000007f0| 2e 27 3b 06 07 20 20 62 | 65 67 69 6e 06 39 20 20 |.';.. b|egin.9 |
|00000800| 20 20 20 20 41 49 74 65 | 6d 73 20 3a 3d 20 54 43 | AIte|ms := TC|
|00000810| 61 74 61 6c 6f 67 49 74 | 65 6d 73 2e 43 72 65 61 |atalogIt|ems.Crea|
|00000820| 74 65 20 28 54 43 61 74 | 61 6c 6f 67 49 74 65 6d |te (TCat|alogItem|
|00000830| 2c 20 27 27 29 3b 20 06 | 2c 20 20 20 20 20 20 43 |, ''); .|, C|
|00000840| 61 74 61 6c 6f 67 2e 45 | 6e 75 6d 41 6c 6c 49 74 |atalog.E|numAllIt|
|00000850| 65 6d 73 20 28 41 49 74 | 65 6d 73 2c 20 46 61 6c |ems (AIt|ems, Fal|
|00000860| 73 65 29 3b 20 06 07 20 | 20 65 6e 64 3b 20 12 00 |se); .. | end; ..|
|00000870| 00 00 00 06 1c 20 20 41 | 54 69 66 20 3a 3d 20 54 |..... A|Tif := T|
|00000880| 54 69 66 2e 43 72 65 61 | 74 65 28 6e 69 6c 29 3b |Tif.Crea|te(nil);|
|00000890| 20 06 1d 20 20 41 54 69 | 66 2e 44 61 74 61 53 69 | .. ATi|f.DataSi|
|000008a0| 7a 65 4c 69 6d 69 74 20 | 3a 3d 20 31 32 38 3b 20 |zeLimit |:= 128; |
|000008b0| 06 1f 20 20 41 58 6d 70 | 20 3a 3d 20 54 58 4d 50 |.. AXmp| := TXMP|
|000008c0| 2e 43 72 65 61 74 65 20 | 28 46 61 6c 73 65 29 3b |.Create |(False);|
|000008d0| 20 12 00 00 00 00 06 20 | 20 20 50 72 6f 67 72 65 | ...... | Progre|
|000008e0| 73 73 2e 4d 61 78 20 3a | 3d 20 41 49 74 65 6d 73 |ss.Max :|= AItems|
|000008f0| 2e 43 6f 75 6e 74 3b 20 | 06 23 20 20 66 6f 72 20 |.Count; |.# for |
|00000900| 69 20 3a 3d 20 30 20 74 | 6f 20 41 49 74 65 6d 73 |i := 0 t|o AItems|
|00000910| 2e 43 6f 75 6e 74 20 2d | 20 31 20 64 6f 06 08 20 |.Count -| 1 do.. |
|00000920| 20 62 65 67 69 6e 20 06 | 1e 20 20 20 20 41 49 74 | begin .|. AIt|
|00000930| 65 6d 20 3a 3d 20 41 49 | 74 65 6d 73 2e 49 74 65 |em := AI|tems.Ite|
|00000940| 6d 73 5b 69 5d 3b 20 12 | 00 00 00 00 06 81 20 20 |ms[i]; .|...... |
|00000950| 20 20 50 72 6f 67 72 65 | 73 73 2e 50 72 6f 67 72 | Progre|ss.Progr|
|00000960| 65 73 73 54 65 78 74 20 | 3a 3d 20 46 6f 72 6d 61 |essText |:= Forma|
|00000970| 74 28 45 78 74 72 61 63 | 74 46 69 6c 65 4e 61 6d |t(Extrac|tFileNam|
|00000980| 65 20 28 41 49 74 65 6d | 2e 46 69 6c 65 4e 61 6d |e (AItem|.FileNam|
|00000990| 65 29 20 2b 20 27 3c 62 | 72 3e 3c 62 72 3e 3c 62 |e) + '<b|r><br><b|
|000009a0| 3e 46 6f 75 6e 64 20 3d | 20 25 64 3c 2f 62 3e 27 |>Found =| %d</b>'|
|000009b0| 2c 20 5b 53 65 61 72 63 | 68 52 65 73 75 6c 74 2e |, [Searc|hResult.|
|000009c0| 49 74 65 6d 73 2e 43 6f | 75 6e 74 5d 29 3b 20 06 |Items.Co|unt]); .|
|000009d0| 1b 20 20 20 20 50 72 6f | 67 72 65 73 73 2e 50 6f |. Pro|gress.Po|
|000009e0| 73 20 3a 3d 20 69 20 2b | 20 31 3b 20 12 00 00 00 |s := i +| 1; ....|
|000009f0| 00 06 10 20 20 20 20 41 | 54 69 66 2e 52 65 73 65 |... A|Tif.Rese|
|00000a00| 74 3b 20 06 10 20 20 20 | 20 41 58 6d 70 2e 52 65 |t; .. | AXmp.Re|
|00000a10| 73 65 74 3b 20 12 00 00 | 00 00 06 3d 20 20 20 20 |set; ...|...= |
|00000a20| 43 61 74 61 6c 6f 67 2e | 4c 6f 61 64 58 4d 50 46 |Catalog.|LoadXMPF|
|00000a30| 6f 72 49 74 65 6d 20 28 | 41 49 74 65 6d 2c 20 41 |orItem (|AItem, A|
|00000a40| 58 6d 70 2c 20 4f 70 74 | 69 6f 6e 73 2e 43 61 63 |Xmp, Opt|ions.Cac|
|00000a50| 68 65 64 58 4d 50 29 3b | 20 06 63 20 20 20 20 41 |hedXMP);| .c A|
|00000a60| 50 61 72 61 6d 43 6f 6e | 74 65 6e 74 20 3a 3d 20 |ParamCon|tent := |
|00000a70| 41 58 6d 70 2e 51 75 69 | 63 6b 47 65 74 50 72 6f |AXmp.Qui|ckGetPro|
|00000a80| 70 65 72 74 79 20 28 27 | 68 74 74 70 3a 2f 2f 6e |perty ('|http://n|
|00000a90| 73 2e 61 64 6f 62 65 2e | 63 6f 6d 2f 65 78 69 66 |s.adobe.|com/exif|
|00000aa0| 2f 31 2e 30 2f 27 2c 20 | 27 65 78 69 66 3a 47 50 |/1.0/', |'exif:GP|
|00000ab0| 53 56 65 72 73 69 6f 6e | 49 44 27 29 3b 20 12 00 |SVersion|ID'); ..|
|00000ac0| 00 00 00 06 25 20 20 20 | 20 69 66 20 56 61 72 49 |....% | if VarI|
|00000ad0| 73 4e 75 6c 6c 28 41 50 | 61 72 61 6d 43 6f 6e 74 |sNull(AP|aramCont|
|00000ae0| 65 6e 74 29 20 74 68 65 | 6e 20 06 16 20 20 20 20 |ent) the|n .. |
|00000af0| 20 20 48 61 73 47 50 53 | 20 3a 3d 20 46 61 6c 73 | HasGPS| := Fals|
|00000b00| 65 20 06 09 20 20 20 20 | 65 6c 73 65 20 06 31 20 |e .. |else .1 |
|00000b10| 20 20 20 20 20 48 61 73 | 47 50 53 20 3a 3d 20 28 | Has|GPS := (|
|00000b20| 56 61 72 54 6f 53 74 72 | 28 41 50 61 72 61 6d 43 |VarToStr|(AParamC|
|00000b30| 6f 6e 74 65 6e 74 29 20 | 3c 3e 20 27 27 29 3b 20 |ontent) |<> ''); |
|00000b40| 12 00 00 00 00 06 30 20 | 20 20 20 69 66 20 28 6e |......0 | if (n|
|00000b50| 6f 74 20 48 61 73 47 50 | 53 29 20 61 6e 64 20 41 |ot HasGP|S) and A|
|00000b60| 49 74 65 6d 2e 4d 65 64 | 69 75 6d 4c 6f 61 64 65 |Item.Med|iumLoade|
|00000b70| 64 20 74 68 65 6e 20 06 | 0a 20 20 20 20 62 65 67 |d then .|. beg|
|00000b80| 69 6e 20 06 2b 20 20 20 | 20 20 20 41 54 69 66 2e |in .+ | ATif.|
|00000b90| 46 69 6c 65 4e 61 6d 65 | 20 3a 3d 20 41 49 74 65 |FileName| := AIte|
|00000ba0| 6d 2e 45 78 69 66 46 69 | 6c 65 4e 61 6d 65 3b 20 |m.ExifFi|leName; |
|00000bb0| 06 1f 20 20 20 20 20 20 | 41 54 69 66 2e 4c 6f 61 |.. |ATif.Loa|
|00000bc0| 64 20 28 54 72 75 65 2c | 20 46 61 6c 73 65 29 3b |d (True,| False);|
|00000bd0| 20 06 1d 20 20 20 20 20 | 20 48 61 73 47 50 53 20 | .. | HasGPS |
|00000be0| 3a 3d 20 41 54 69 66 2e | 48 61 73 47 50 53 3b 20 |:= ATif.|HasGPS; |
|00000bf0| 06 08 20 20 20 20 65 6e | 64 20 12 00 00 00 00 06 |.. en|d ......|
|00000c00| 2d 20 20 20 20 41 47 6f | 20 3a 3d 20 28 28 48 61 |- AGo| := ((Ha|
|00000c10| 73 47 50 53 29 20 61 6e | 64 20 28 72 64 62 47 50 |sGPS) an|d (rdbGP|
|00000c20| 53 2e 43 68 65 63 6b 65 | 64 29 29 20 6f 72 06 32 |S.Checke|d)) or.2|
|00000c30| 20 20 20 20 20 20 20 20 | 20 20 20 28 28 6e 6f 74 | | ((not|
|00000c40| 20 48 61 73 47 50 53 29 | 20 61 6e 64 20 28 72 64 | HasGPS)| and (rd|
|00000c50| 62 47 50 53 4e 6f 2e 43 | 68 65 63 6b 65 64 29 29 |bGPSNo.C|hecked))|
|00000c60| 3b 20 12 00 00 00 00 06 | 10 20 20 20 20 69 66 20 |; ......|. if |
|00000c70| 41 47 6f 20 74 68 65 6e | 20 06 0a 20 20 20 20 62 |AGo then| .. b|
|00000c80| 65 67 69 6e 20 06 28 20 | 20 20 20 20 20 41 49 6d |egin .( | AIm|
|00000c90| 61 67 65 20 3a 3d 20 53 | 65 61 72 63 68 52 65 73 |age := S|earchRes|
|00000ca0| 75 6c 74 2e 49 74 65 6d | 73 2e 41 64 64 3b 20 06 |ult.Item|s.Add; .|
|00000cb0| 28 20 20 20 20 20 20 41 | 49 74 65 6d 2e 50 75 73 |( A|Item.Pus|
|00000cc0| 68 54 6f 49 6d 61 67 65 | 20 28 41 49 6d 61 67 65 |hToImage| (AImage|
|00000cd0| 2c 20 54 72 75 65 29 3b | 20 06 09 20 20 20 20 65 |, True);| .. e|
|00000ce0| 6e 64 3b 20 12 00 00 00 | 00 06 1c 20 20 20 20 69 |nd; ....|... i|
|00000cf0| 66 20 50 72 6f 67 72 65 | 73 73 2e 43 61 6e 63 65 |f Progre|ss.Cance|
|00000d00| 6c 20 74 68 65 6e 20 06 | 0d 20 20 20 20 20 20 62 |l then .|. b|
|00000d10| 72 65 61 6b 3b 20 06 07 | 20 20 65 6e 64 3b 20 12 |reak; ..| end; .|
|00000d20| 00 00 00 00 06 0f 20 20 | 41 49 74 65 6d 73 2e 46 |...... |AItems.F|
|00000d30| 72 65 65 3b 20 06 0d 20 | 20 41 54 69 66 2e 46 72 |ree; .. | ATif.Fr|
|00000d40| 65 65 3b 20 06 0d 20 20 | 41 58 6d 70 2e 46 72 65 |ee; .. |AXmp.Fre|
|00000d50| 65 3b 20 12 00 00 00 00 | 06 1b 20 20 2f 2f 69 66 |e; .....|.. //if|
|00000d60| 20 50 72 6f 67 72 65 73 | 73 2e 43 61 6e 63 65 6c | Progres|s.Cancel|
|00000d70| 20 74 68 65 6e 06 18 20 | 20 2f 2f 20 20 53 61 79 | then.. | // Say|
|00000d80| 20 28 27 43 61 6e 63 65 | 6c 6c 65 64 27 29 3b 12 | ('Cance|lled');.|
|00000d90| 00 00 00 00 06 11 20 20 | 50 72 6f 67 72 65 73 73 |...... |Progress|
|00000da0| 2e 48 69 64 65 3b 20 12 | 00 00 00 00 06 1f 20 20 |.Hide; .|...... |
|00000db0| 4d 61 69 6e 46 6f 72 6d | 2e 4d 6f 64 61 6c 52 65 |MainForm|.ModalRe|
|00000dc0| 73 75 6c 74 20 3a 3d 20 | 6d 72 4f 6b 3b 06 04 65 |sult := |mrOk;..e|
|00000dd0| 6e 64 3b 00 07 56 65 72 | 73 69 6f 6e 06 03 31 2e |nd;..Ver|sion..1.|
|00000de0| 30 07 57 69 74 68 47 55 | 49 09 0b 4c 61 73 74 55 |0.WithGU|I..LastU|
|00000df0| 70 64 61 74 65 64 05 00 | 68 9e 22 42 be 23 99 0e |pdated..|h."B.#..|
|00000e00| 40 0a 50 65 72 73 69 73 | 74 65 6e 74 08 0a 46 6f |@.Persis|tent..Fo|
|00000e10| 72 6d 53 74 72 65 61 6d | 0a 94 0f 00 00 54 50 46 |rmStream|.....TPF|
|00000e20| 30 0d 54 53 63 72 69 70 | 74 44 65 73 69 67 6e 02 |0.TScrip|tDesign.|
|00000e30| 5f 31 04 4c 65 66 74 02 | 00 03 54 6f 70 02 00 05 |_1.Left.|..Top...|
|00000e40| 57 69 64 74 68 03 02 01 | 06 48 65 69 67 68 74 03 |Width...|.Height.|
|00000e50| ad 00 07 43 61 70 74 69 | 6f 6e 06 0e 53 65 61 72 |...Capti|on..Sear|
|00000e60| 63 68 20 66 6f 72 20 47 | 50 53 05 43 6f 6c 6f 72 |ch for G|PS.Color|
|00000e70| 07 09 63 6c 42 74 6e 46 | 61 63 65 0c 46 6f 6e 74 |..clBtnF|ace.Font|
|00000e80| 2e 43 68 61 72 73 65 74 | 07 0f 44 45 46 41 55 4c |.Charset|..DEFAUL|
|00000e90| 54 5f 43 48 41 52 53 45 | 54 0a 46 6f 6e 74 2e 43 |T_CHARSE|T.Font.C|
|00000ea0| 6f 6c 6f 72 07 0c 63 6c | 57 69 6e 64 6f 77 54 65 |olor..cl|WindowTe|
|00000eb0| 78 74 0b 46 6f 6e 74 2e | 48 65 69 67 68 74 02 f5 |xt.Font.|Height..|
|00000ec0| 09 46 6f 6e 74 2e 4e 61 | 6d 65 06 0d 4d 53 20 53 |.Font.Na|me..MS S|
|00000ed0| 61 6e 73 20 53 65 72 69 | 66 0a 46 6f 6e 74 2e 53 |ans Seri|f.Font.S|
|00000ee0| 74 79 6c 65 0b 00 0e 4f | 6c 64 43 72 65 61 74 65 |tyle...O|ldCreate|
|00000ef0| 4f 72 64 65 72 08 0d 50 | 69 78 65 6c 73 50 65 72 |Order..P|ixelsPer|
|00000f00| 49 6e 63 68 02 60 0a 54 | 65 78 74 48 65 69 67 68 |Inch.`.T|extHeigh|
|00000f10| 74 02 0d 00 07 54 42 75 | 74 74 6f 6e 07 42 75 74 |t....TBu|tton.But|
|00000f20| 74 6f 6e 31 04 4c 65 66 | 74 02 0a 03 54 6f 70 02 |ton1.Lef|t...Top.|
|00000f30| 61 05 57 69 64 74 68 03 | e6 00 06 48 65 69 67 68 |a.Width.|...Heigh|
|00000f40| 74 02 19 07 43 61 70 74 | 69 6f 6e 06 0c 53 74 61 |t...Capt|ion..Sta|
|00000f50| 72 74 20 53 65 61 72 63 | 68 08 54 61 62 4f 72 64 |rt Searc|h.TabOrd|
|00000f60| 65 72 02 00 00 00 0c 54 | 52 61 64 69 6f 42 75 74 |er.....T|RadioBut|
|00000f70| 74 6f 6e 06 72 64 62 47 | 50 53 04 4c 65 66 74 02 |ton.rdbG|PS.Left.|
|00000f80| 0a 03 54 6f 70 02 23 05 | 57 69 64 74 68 03 b9 00 |..Top.#.|Width...|
|00000f90| 06 48 65 69 67 68 74 02 | 11 07 43 61 70 74 69 6f |.Height.|..Captio|
|00000fa0| 6e 06 1b 53 65 61 72 63 | 68 20 49 6d 61 67 65 73 |n..Searc|h Images|
|00000fb0| 20 77 69 74 68 20 47 50 | 53 20 64 61 74 61 07 43 | with GP|S data.C|
|00000fc0| 68 65 63 6b 65 64 09 08 | 54 61 62 4f 72 64 65 72 |hecked..|TabOrder|
|00000fd0| 02 01 07 54 61 62 53 74 | 6f 70 09 00 00 0c 54 52 |...TabSt|op....TR|
|00000fe0| 61 64 69 6f 42 75 74 74 | 6f 6e 08 72 64 62 47 50 |adioButt|on.rdbGP|
|00000ff0| 53 4e 6f 04 4c 65 66 74 | 02 0a 03 54 6f 70 02 38 |SNo.Left|...Top.8|
|00001000| 05 57 69 64 74 68 03 b9 | 00 06 48 65 69 67 68 74 |.Width..|..Height|
|00001010| 02 11 07 43 61 70 74 69 | 6f 6e 06 1e 53 65 61 72 |...Capti|on..Sear|
|00001020| 63 68 20 49 6d 61 67 65 | 73 20 77 69 74 68 6f 75 |ch Image|s withou|
|00001030| 74 20 47 50 53 20 64 61 | 74 61 08 54 61 62 4f 72 |t GPS da|ta.TabOr|
|00001040| 64 65 72 02 02 00 00 09 | 54 43 68 65 63 6b 42 6f |der.....|TCheckBo|
|00001050| 78 05 63 68 6b 44 42 04 | 4c 65 66 74 02 0a 03 54 |x.chkDB.|Left...T|
|00001060| 6f 70 02 4e 05 57 69 64 | 74 68 03 e6 00 06 48 65 |op.N.Wid|th....He|
|00001070| 69 67 68 74 02 11 07 43 | 61 70 74 69 6f 6e 06 1a |ight...C|aption..|
|00001080| 44 6f 20 66 61 73 74 20 | 73 65 61 72 63 68 20 6f |Do fast |search o|
|00001090| 6e 20 64 61 74 61 62 61 | 73 65 08 54 61 62 4f 72 |n databa|se.TabOr|
|000010a0| 64 65 72 02 03 00 00 0b | 54 69 64 53 63 72 69 70 |der.....|TidScrip|
|000010b0| 74 65 72 00 12 53 6f 75 | 72 63 65 43 6f 64 65 2e |ter..Sou|rceCode.|
|000010c0| 53 74 72 69 6e 67 73 01 | 06 48 70 72 6f 63 65 64 |Strings.|.Hproced|
|000010d0| 75 72 65 20 49 6e 69 74 | 69 61 6c 69 7a 65 3b 20 |ure Init|ialize; |
|000010e0| 20 20 20 2f 2f 20 75 73 | 65 20 74 68 69 73 20 70 | // us|e this p|
|000010f0| 72 6f 63 65 64 75 72 65 | 20 66 6f 72 20 67 6c 6f |rocedure| for glo|
|00001100| 62 61 6c 20 69 6e 69 74 | 69 61 6c 69 7a 61 74 69 |bal init|ializati|
|00001110| 6f 6e 06 06 62 65 67 69 | 6e 20 06 27 20 20 4d 61 |on..begi|n .' Ma|
|00001120| 69 6e 46 6f 72 6d 2e 50 | 6f 73 69 74 69 6f 6e 20 |inForm.P|osition |
|00001130| 3a 3d 20 70 6f 53 63 72 | 65 65 6e 43 65 6e 74 65 |:= poScr|eenCente|
|00001140| 72 3b 20 06 4b 20 20 72 | 64 62 47 50 53 2e 43 68 |r; .K r|dbGPS.Ch|
|00001150| 65 63 6b 65 64 20 3a 3d | 20 52 65 61 64 46 72 6f |ecked :=| ReadFro|
|00001160| 6d 52 65 67 69 73 74 72 | 79 20 28 27 53 63 72 69 |mRegistr|y ('Scri|
|00001170| 70 74 73 5c 47 50 53 53 | 65 61 72 63 68 27 2c 20 |pts\GPSS|earch', |
|00001180| 27 68 61 73 47 50 53 27 | 2c 20 54 72 75 65 29 3b |'hasGPS'|, True);|
|00001190| 06 2d 20 20 72 64 62 47 | 50 53 4e 6f 2e 43 68 65 |.- rdbG|PSNo.Che|
|000011a0| 63 6b 65 64 20 3a 3d 20 | 72 64 62 47 50 53 2e 43 |cked := |rdbGPS.C|
|000011b0| 68 65 63 6b 65 64 20 3d | 20 66 61 6c 73 65 3b 06 |hecked =| false;.|
|000011c0| 51 20 20 63 68 6b 44 42 | 2e 43 68 65 63 6b 65 64 |Q chkDB|.Checked|
|000011d0| 20 3a 3d 20 52 65 61 64 | 46 72 6f 6d 52 65 67 69 | := Read|FromRegi|
|000011e0| 73 74 72 79 20 28 27 53 | 63 72 69 70 74 73 5c 47 |stry ('S|cripts\G|
|000011f0| 50 53 53 65 61 72 63 68 | 27 2c 20 27 64 6f 46 61 |PSSearch|', 'doFa|
|00001200| 73 74 53 65 61 72 63 68 | 27 2c 20 46 61 6c 73 65 |stSearch|', False|
|00001210| 29 3b 06 04 65 6e 64 3b | 06 00 06 47 70 72 6f 63 |);..end;|...Gproc|
|00001220| 65 64 75 72 65 20 46 69 | 6e 61 6c 69 7a 65 3b 20 |edure Fi|nalize; |
|00001230| 20 20 20 20 20 2f 2f 20 | 75 73 65 20 74 68 69 73 | // |use this|
|00001240| 20 70 72 6f 63 65 64 75 | 72 65 20 66 6f 72 20 67 | procedu|re for g|
|00001250| 6c 6f 62 61 6c 20 66 69 | 6e 61 6c 69 7a 61 74 69 |lobal fi|nalizati|
|00001260| 6f 6e 20 06 05 62 65 67 | 69 6e 06 42 20 20 57 72 |on ..beg|in.B Wr|
|00001270| 69 74 65 54 6f 52 65 67 | 69 73 74 72 79 20 28 27 |iteToReg|istry ('|
|00001280| 53 63 72 69 70 74 73 5c | 47 50 53 53 65 61 72 63 |Scripts\|GPSSearc|
|00001290| 68 27 2c 20 27 68 61 73 | 47 50 53 27 2c 20 72 64 |h', 'has|GPS', rd|
|000012a0| 62 47 50 53 2e 43 68 65 | 63 6b 65 64 29 3b 06 47 |bGPS.Che|cked);.G|
|000012b0| 20 20 57 72 69 74 65 54 | 6f 52 65 67 69 73 74 72 | WriteT|oRegistr|
|000012c0| 79 20 28 27 53 63 72 69 | 70 74 73 5c 47 50 53 53 |y ('Scri|pts\GPSS|
|000012d0| 65 61 72 63 68 27 2c 20 | 27 64 6f 46 61 73 74 53 |earch', |'doFastS|
|000012e0| 65 61 72 63 68 27 2c 20 | 63 68 6b 44 42 2e 43 68 |earch', |chkDB.Ch|
|000012f0| 65 63 6b 65 64 29 3b 06 | 04 65 6e 64 3b 06 00 06 |ecked);.|.end;...|
|00001300| 18 70 72 6f 63 65 64 75 | 72 65 20 70 62 53 65 61 |.procedu|re pbSea|
|00001310| 72 63 68 43 6c 69 63 6b | 3b 06 04 76 61 72 20 06 |rchClick|;..var .|
|00001320| 18 20 20 41 49 74 65 6d | 73 3a 20 54 43 61 74 61 |. AItem|s: TCata|
|00001330| 6c 6f 67 49 74 65 6d 73 | 3b 06 17 20 20 41 49 74 |logItems|;.. AIt|
|00001340| 65 6d 3a 20 54 43 61 74 | 61 6c 6f 67 49 74 65 6d |em: TCat|alogItem|
|00001350| 3b 20 06 16 20 20 41 49 | 6d 61 67 65 3a 20 54 49 |; .. AI|mage: TI|
|00001360| 6d 61 67 65 49 74 65 6d | 3b 20 06 0d 20 20 41 54 |mageItem|; .. AT|
|00001370| 69 66 3a 20 54 54 69 66 | 3b 06 11 20 20 41 54 61 |if: TTif|;.. ATa|
|00001380| 67 3a 20 54 54 69 66 54 | 61 67 3b 20 06 0d 20 20 |g: TTifT|ag; .. |
|00001390| 41 58 6d 70 3a 20 54 58 | 4d 50 3b 06 1a 20 20 41 |AXmp: TX|MP;.. A|
|000013a0| 50 61 72 61 6d 43 6f 6e | 74 65 6e 74 3a 20 56 61 |ParamCon|tent: Va|
|000013b0| 72 69 61 6e 74 3b 20 06 | 13 20 20 48 61 73 47 50 |riant; .|. HasGP|
|000013c0| 53 3a 20 42 6f 6f 6c 65 | 61 6e 3b 20 06 0f 20 20 |S: Boole|an; .. |
|000013d0| 41 47 6f 3a 20 42 6f 6f | 6c 65 61 6e 3b 06 1b 20 |AGo: Boo|lean;.. |
|000013e0| 20 41 44 73 3a 20 54 44 | 42 58 4f 4d 43 6c 69 65 | ADs: TD|BXOMClie|
|000013f0| 6e 74 44 61 74 61 53 65 | 74 3b 06 05 62 65 67 69 |ntDataSe|t;..begi|
|00001400| 6e 06 17 20 20 69 66 20 | 63 68 6b 44 42 2e 43 68 |n.. if |chkDB.Ch|
|00001410| 65 63 6b 65 64 20 74 68 | 65 6e 06 07 20 20 62 65 |ecked th|en.. be|
|00001420| 67 69 6e 06 21 20 20 20 | 20 53 63 72 65 65 6e 2e |gin.! | Screen.|
|00001430| 43 75 72 73 6f 72 20 3a | 3d 20 63 72 48 6f 75 72 |Cursor :|= crHour|
|00001440| 47 6c 61 73 73 3b 06 00 | 06 1e 20 20 20 20 41 44 |Glass;..|.. AD|
|00001450| 73 20 3a 3d 20 43 61 74 | 61 6c 6f 67 2e 4e 65 77 |s := Cat|alog.New|
|00001460| 44 61 74 61 73 65 74 3b | 06 00 06 c1 20 20 20 20 |Dataset;|.... |
|00001470| 41 44 73 2e 43 6f 6d 6d | 61 6e 64 54 65 78 74 20 |ADs.Comm|andText |
|00001480| 3a 3d 20 27 73 65 6c 65 | 63 74 20 20 69 2e 2a 20 |:= 'sele|ct i.* |
|00001490| 66 72 6f 6d 20 76 5f 43 | 61 74 61 6c 6f 67 49 74 |from v_C|atalogIt|
|000014a0| 65 6d 20 69 20 20 77 68 | 65 72 65 20 20 20 69 2e |em i wh|ere i.|
|000014b0| 47 55 49 44 20 27 2b 69 | 69 66 28 72 64 62 47 50 |GUID '+i|if(rdbGP|
|000014c0| 53 2e 43 68 65 63 6b 65 | 64 2c 27 27 2c 27 6e 6f |S.Checke|d,'','no|
|000014d0| 74 27 29 2b 27 20 69 6e | 20 28 53 45 4c 45 43 54 |t')+' in| (SELECT|
|000014e0| 20 44 49 53 54 49 4e 43 | 54 20 49 6d 61 67 65 47 | DISTINC|T ImageG|
|000014f0| 55 49 44 20 46 52 4f 4d | 20 69 64 49 6d 61 67 65 |UID FROM| idImage|
|00001500| 58 4d 50 20 57 48 45 52 | 45 20 58 4d 50 5f 50 72 |XMP WHER|E XMP_Pr|
|00001510| 6f 70 65 72 74 79 20 4c | 49 4b 45 20 27 27 65 78 |operty L|IKE ''ex|
|00001520| 69 66 3a 47 50 53 25 27 | 27 29 3b 27 3b 06 1b 20 |if:GPS%'|');';.. |
|00001530| 20 20 20 2f 2f 53 61 79 | 28 41 44 73 2e 43 6f 6d | //Say|(ADs.Com|
|00001540| 6d 61 6e 64 54 65 78 74 | 29 3b 06 0d 20 20 20 20 |mandText|);.. |
|00001550| 41 44 73 2e 4f 70 65 6e | 3b 06 27 20 20 20 20 53 |ADs.Open|;.' S|
|00001560| 65 61 72 63 68 52 65 73 | 75 6c 74 2e 49 74 65 6d |earchRes|ult.Item|
|00001570| 73 2e 41 64 64 44 61 74 | 61 73 65 74 20 28 41 44 |s.AddDat|aset (AD|
|00001580| 73 29 06 0e 20 20 20 20 | 41 44 73 2e 43 6c 6f 73 |s).. |ADs.Clos|
|00001590| 65 3b 06 00 06 0d 20 20 | 20 20 41 44 73 2e 46 72 |e;.... | ADs.Fr|
|000015a0| 65 65 3b 06 00 06 1f 20 | 20 20 20 53 63 72 65 65 |ee;.... | Scree|
|000015b0| 6e 2e 43 75 72 73 6f 72 | 20 3a 3d 20 63 72 44 65 |n.Cursor| := crDe|
|000015c0| 66 61 75 6c 74 3b 06 21 | 20 20 20 20 4d 61 69 6e |fault;.!| Main|
|000015d0| 46 6f 72 6d 2e 4d 6f 64 | 61 6c 52 65 73 75 6c 74 |Form.Mod|alResult|
|000015e0| 20 3a 3d 20 6d 72 4f 6b | 3b 06 09 20 20 20 20 65 | := mrOk|;.. e|
|000015f0| 78 69 74 3b 06 05 20 20 | 65 6e 64 06 00 06 1c 20 |xit;.. |end.... |
|00001600| 20 50 72 6f 67 72 65 73 | 73 2e 43 61 6e 63 65 6c | Progres|s.Cancel|
|00001610| 20 3a 3d 20 46 61 6c 73 | 65 3b 20 06 18 20 20 50 | := Fals|e; .. P|
|00001620| 72 6f 67 72 65 73 73 2e | 55 73 65 50 72 6f 67 72 |rogress.|UseProgr|
|00001630| 65 73 73 3b 20 06 15 20 | 20 50 72 6f 67 72 65 73 |ess; .. | Progres|
|00001640| 73 2e 50 6f 73 20 3a 3d | 20 30 3b 20 06 11 20 20 |s.Pos :=| 0; .. |
|00001650| 50 72 6f 67 72 65 73 73 | 2e 53 68 6f 77 3b 20 06 |Progress|.Show; .|
|00001660| 00 06 3e 20 20 50 72 6f | 67 72 65 73 73 2e 50 72 |..> Pro|gress.Pr|
|00001670| 6f 67 72 65 73 73 54 65 | 78 74 20 3a 3d 20 27 52 |ogressTe|xt := 'R|
|00001680| 65 61 64 69 6e 67 20 61 | 6c 6c 20 69 6d 61 67 65 |eading a|ll image|
|00001690| 73 20 69 6e 20 63 61 74 | 61 6c 6f 67 2e 2e 2e 27 |s in cat|alog...'|
|000016a0| 3b 06 07 20 20 62 65 67 | 69 6e 06 39 20 20 20 20 |;.. beg|in.9 |
|000016b0| 20 20 41 49 74 65 6d 73 | 20 3a 3d 20 54 43 61 74 | AItems| := TCat|
|000016c0| 61 6c 6f 67 49 74 65 6d | 73 2e 43 72 65 61 74 65 |alogItem|s.Create|
|000016d0| 20 28 54 43 61 74 61 6c | 6f 67 49 74 65 6d 2c 20 | (TCatal|ogItem, |
|000016e0| 27 27 29 3b 20 06 2c 20 | 20 20 20 20 20 43 61 74 |''); ., | Cat|
|000016f0| 61 6c 6f 67 2e 45 6e 75 | 6d 41 6c 6c 49 74 65 6d |alog.Enu|mAllItem|
|00001700| 73 20 28 41 49 74 65 6d | 73 2c 20 46 61 6c 73 65 |s (AItem|s, False|
|00001710| 29 3b 20 06 07 20 20 65 | 6e 64 3b 20 06 00 06 1c |); .. e|nd; ....|
|00001720| 20 20 41 54 69 66 20 3a | 3d 20 54 54 69 66 2e 43 | ATif :|= TTif.C|
|00001730| 72 65 61 74 65 28 6e 69 | 6c 29 3b 20 06 1d 20 20 |reate(ni|l); .. |
|00001740| 41 54 69 66 2e 44 61 74 | 61 53 69 7a 65 4c 69 6d |ATif.Dat|aSizeLim|
|00001750| 69 74 20 3a 3d 20 31 32 | 38 3b 20 06 1f 20 20 41 |it := 12|8; .. A|
|00001760| 58 6d 70 20 3a 3d 20 54 | 58 4d 50 2e 43 72 65 61 |Xmp := T|XMP.Crea|
|00001770| 74 65 20 28 46 61 6c 73 | 65 29 3b 20 06 00 06 20 |te (Fals|e); ... |
|00001780| 20 20 50 72 6f 67 72 65 | 73 73 2e 4d 61 78 20 3a | Progre|ss.Max :|
|00001790| 3d 20 41 49 74 65 6d 73 | 2e 43 6f 75 6e 74 3b 20 |= AItems|.Count; |
|000017a0| 06 23 20 20 66 6f 72 20 | 69 20 3a 3d 20 30 20 74 |.# for |i := 0 t|
|000017b0| 6f 20 41 49 74 65 6d 73 | 2e 43 6f 75 6e 74 20 2d |o AItems|.Count -|
|000017c0| 20 31 20 64 6f 06 08 20 | 20 62 65 67 69 6e 20 06 | 1 do.. | begin .|
|000017d0| 1e 20 20 20 20 41 49 74 | 65 6d 20 3a 3d 20 41 49 |. AIt|em := AI|
|000017e0| 74 65 6d 73 2e 49 74 65 | 6d 73 5b 69 5d 3b 20 06 |tems.Ite|ms[i]; .|
|000017f0| 00 06 81 20 20 20 20 50 | 72 6f 67 72 65 73 73 2e |... P|rogress.|
|00001800| 50 72 6f 67 72 65 73 73 | 54 65 78 74 20 3a 3d 20 |Progress|Text := |
|00001810| 46 6f 72 6d 61 74 28 45 | 78 74 72 61 63 74 46 69 |Format(E|xtractFi|
|00001820| 6c 65 4e 61 6d 65 20 28 | 41 49 74 65 6d 2e 46 69 |leName (|AItem.Fi|
|00001830| 6c 65 4e 61 6d 65 29 20 | 2b 20 27 3c 62 72 3e 3c |leName) |+ '<br><|
|00001840| 62 72 3e 3c 62 3e 46 6f | 75 6e 64 20 3d 20 25 64 |br><b>Fo|und = %d|
|00001850| 3c 2f 62 3e 27 2c 20 5b | 53 65 61 72 63 68 52 65 |</b>', [|SearchRe|
|00001860| 73 75 6c 74 2e 49 74 65 | 6d 73 2e 43 6f 75 6e 74 |sult.Ite|ms.Count|
|00001870| 5d 29 3b 20 06 1b 20 20 | 20 20 50 72 6f 67 72 65 |]); .. | Progre|
|00001880| 73 73 2e 50 6f 73 20 3a | 3d 20 69 20 2b 20 31 3b |ss.Pos :|= i + 1;|
|00001890| 20 06 00 06 10 20 20 20 | 20 41 54 69 66 2e 52 65 | .... | ATif.Re|
|000018a0| 73 65 74 3b 20 06 10 20 | 20 20 20 41 58 6d 70 2e |set; .. | AXmp.|
|000018b0| 52 65 73 65 74 3b 20 06 | 00 06 3d 20 20 20 20 43 |Reset; .|..= C|
|000018c0| 61 74 61 6c 6f 67 2e 4c | 6f 61 64 58 4d 50 46 6f |atalog.L|oadXMPFo|
|000018d0| 72 49 74 65 6d 20 28 41 | 49 74 65 6d 2c 20 41 58 |rItem (A|Item, AX|
|000018e0| 6d 70 2c 20 4f 70 74 69 | 6f 6e 73 2e 43 61 63 68 |mp, Opti|ons.Cach|
|000018f0| 65 64 58 4d 50 29 3b 20 | 06 63 20 20 20 20 41 50 |edXMP); |.c AP|
|00001900| 61 72 61 6d 43 6f 6e 74 | 65 6e 74 20 3a 3d 20 41 |aramCont|ent := A|
|00001910| 58 6d 70 2e 51 75 69 63 | 6b 47 65 74 50 72 6f 70 |Xmp.Quic|kGetProp|
|00001920| 65 72 74 79 20 28 27 68 | 74 74 70 3a 2f 2f 6e 73 |erty ('h|ttp://ns|
|00001930| 2e 61 64 6f 62 65 2e 63 | 6f 6d 2f 65 78 69 66 2f |.adobe.c|om/exif/|
|00001940| 31 2e 30 2f 27 2c 20 27 | 65 78 69 66 3a 47 50 53 |1.0/', '|exif:GPS|
|00001950| 56 65 72 73 69 6f 6e 49 | 44 27 29 3b 20 06 00 06 |VersionI|D'); ...|
|00001960| 25 20 20 20 20 69 66 20 | 56 61 72 49 73 4e 75 6c |% if |VarIsNul|
|00001970| 6c 28 41 50 61 72 61 6d | 43 6f 6e 74 65 6e 74 29 |l(AParam|Content)|
|00001980| 20 74 68 65 6e 20 06 16 | 20 20 20 20 20 20 48 61 | then ..| Ha|
|00001990| 73 47 50 53 20 3a 3d 20 | 46 61 6c 73 65 20 06 09 |sGPS := |False ..|
|000019a0| 20 20 20 20 65 6c 73 65 | 20 06 31 20 20 20 20 20 | else| .1 |
|000019b0| 20 48 61 73 47 50 53 20 | 3a 3d 20 28 56 61 72 54 | HasGPS |:= (VarT|
|000019c0| 6f 53 74 72 28 41 50 61 | 72 61 6d 43 6f 6e 74 65 |oStr(APa|ramConte|
|000019d0| 6e 74 29 20 3c 3e 20 27 | 27 29 3b 20 06 00 06 30 |nt) <> '|'); ...0|
|000019e0| 20 20 20 20 69 66 20 28 | 6e 6f 74 20 48 61 73 47 | if (|not HasG|
|000019f0| 50 53 29 20 61 6e 64 20 | 41 49 74 65 6d 2e 4d 65 |PS) and |AItem.Me|
|00001a00| 64 69 75 6d 4c 6f 61 64 | 65 64 20 74 68 65 6e 20 |diumLoad|ed then |
|00001a10| 06 0a 20 20 20 20 62 65 | 67 69 6e 20 06 2b 20 20 |.. be|gin .+ |
|00001a20| 20 20 20 20 41 54 69 66 | 2e 46 69 6c 65 4e 61 6d | ATif|.FileNam|
|00001a30| 65 20 3a 3d 20 41 49 74 | 65 6d 2e 45 78 69 66 46 |e := AIt|em.ExifF|
|00001a40| 69 6c 65 4e 61 6d 65 3b | 20 06 1f 20 20 20 20 20 |ileName;| .. |
|00001a50| 20 41 54 69 66 2e 4c 6f | 61 64 20 28 54 72 75 65 | ATif.Lo|ad (True|
|00001a60| 2c 20 46 61 6c 73 65 29 | 3b 20 06 1d 20 20 20 20 |, False)|; .. |
|00001a70| 20 20 48 61 73 47 50 53 | 20 3a 3d 20 41 54 69 66 | HasGPS| := ATif|
|00001a80| 2e 48 61 73 47 50 53 3b | 20 06 08 20 20 20 20 65 |.HasGPS;| .. e|
|00001a90| 6e 64 20 06 00 06 2d 20 | 20 20 20 41 47 6f 20 3a |nd ...- | AGo :|
|00001aa0| 3d 20 28 28 48 61 73 47 | 50 53 29 20 61 6e 64 20 |= ((HasG|PS) and |
|00001ab0| 28 72 64 62 47 50 53 2e | 43 68 65 63 6b 65 64 29 |(rdbGPS.|Checked)|
|00001ac0| 29 20 6f 72 06 32 20 20 | 20 20 20 20 20 20 20 20 |) or.2 | |
|00001ad0| 20 28 28 6e 6f 74 20 48 | 61 73 47 50 53 29 20 61 | ((not H|asGPS) a|
|00001ae0| 6e 64 20 28 72 64 62 47 | 50 53 4e 6f 2e 43 68 65 |nd (rdbG|PSNo.Che|
|00001af0| 63 6b 65 64 29 29 3b 20 | 06 00 06 10 20 20 20 20 |cked)); |.... |
|00001b00| 69 66 20 41 47 6f 20 74 | 68 65 6e 20 06 0a 20 20 |if AGo t|hen .. |
|00001b10| 20 20 62 65 67 69 6e 20 | 06 28 20 20 20 20 20 20 | begin |.( |
|00001b20| 41 49 6d 61 67 65 20 3a | 3d 20 53 65 61 72 63 68 |AImage :|= Search|
|00001b30| 52 65 73 75 6c 74 2e 49 | 74 65 6d 73 2e 41 64 64 |Result.I|tems.Add|
|00001b40| 3b 20 06 28 20 20 20 20 | 20 20 41 49 74 65 6d 2e |; .( | AItem.|
|00001b50| 50 75 73 68 54 6f 49 6d | 61 67 65 20 28 41 49 6d |PushToIm|age (AIm|
|00001b60| 61 67 65 2c 20 54 72 75 | 65 29 3b 20 06 09 20 20 |age, Tru|e); .. |
|00001b70| 20 20 65 6e 64 3b 20 06 | 00 06 1c 20 20 20 20 69 | end; .|... i|
|00001b80| 66 20 50 72 6f 67 72 65 | 73 73 2e 43 61 6e 63 65 |f Progre|ss.Cance|
|00001b90| 6c 20 74 68 65 6e 20 06 | 0d 20 20 20 20 20 20 62 |l then .|. b|
|00001ba0| 72 65 61 6b 3b 20 06 07 | 20 20 65 6e 64 3b 20 06 |reak; ..| end; .|
|00001bb0| 00 06 0f 20 20 41 49 74 | 65 6d 73 2e 46 72 65 65 |... AIt|ems.Free|
|00001bc0| 3b 20 06 0d 20 20 41 54 | 69 66 2e 46 72 65 65 3b |; .. AT|if.Free;|
|00001bd0| 20 06 0d 20 20 41 58 6d | 70 2e 46 72 65 65 3b 20 | .. AXm|p.Free; |
|00001be0| 06 00 06 1b 20 20 2f 2f | 69 66 20 50 72 6f 67 72 |.... //|if Progr|
|00001bf0| 65 73 73 2e 43 61 6e 63 | 65 6c 20 74 68 65 6e 06 |ess.Canc|el then.|
|00001c00| 18 20 20 2f 2f 20 20 53 | 61 79 20 28 27 43 61 6e |. // S|ay ('Can|
|00001c10| 63 65 6c 6c 65 64 27 29 | 3b 06 00 06 11 20 20 50 |celled')|;.... P|
|00001c20| 72 6f 67 72 65 73 73 2e | 48 69 64 65 3b 20 06 00 |rogress.|Hide; ..|
|00001c30| 06 1f 20 20 4d 61 69 6e | 46 6f 72 6d 2e 4d 6f 64 |.. Main|Form.Mod|
|00001c40| 61 6c 52 65 73 75 6c 74 | 20 3a 3d 20 6d 72 4f 6b |alResult| := mrOk|
|00001c50| 3b 06 04 65 6e 64 3b 00 | 10 53 61 76 65 43 6f 6d |;..end;.|.SaveCom|
|00001c60| 70 69 6c 65 64 43 6f 64 | 65 08 10 53 68 6f 72 74 |piledCod|e..Short|
|00001c70| 42 6f 6f 6c 65 61 6e 45 | 76 61 6c 08 1d 4c 69 62 |BooleanE|val..Lib|
|00001c80| 4f 70 74 69 6f 6e 73 2e | 53 65 61 72 63 68 50 61 |Options.|SearchPa|
|00001c90| 74 68 2e 53 74 72 69 6e | 67 73 01 06 09 24 28 43 |th.Strin|gs...$(C|
|00001ca0| 55 52 44 49 52 29 06 09 | 24 28 41 50 50 44 49 52 |URDIR)..|$(APPDIR|
|00001cb0| 29 06 34 43 3a 5c 50 72 | 6f 67 72 61 6d 6d 65 5c |).4C:\Pr|ogramme\|
|00001cc0| 69 64 50 6c 61 6e 6e 65 | 72 20 50 72 6f 64 75 63 |idPlanne|r Produc|
|00001cd0| 74 73 5c 69 64 49 6d 61 | 67 65 72 5c 53 63 72 69 |ts\idIma|ger\Scri|
|00001ce0| 70 74 4c 69 62 73 5c 00 | 18 4c 69 62 4f 70 74 69 |ptLibs\.|.LibOpti|
|00001cf0| 6f 6e 73 2e 53 6f 75 72 | 63 65 46 69 6c 65 45 78 |ons.Sour|ceFileEx|
|00001d00| 74 06 04 2e 70 73 63 1a | 4c 69 62 4f 70 74 69 6f |t...psc.|LibOptio|
|00001d10| 6e 73 2e 43 6f 6d 70 69 | 6c 65 64 46 69 6c 65 45 |ns.Compi|ledFileE|
|00001d20| 78 74 06 04 2e 70 63 75 | 19 4c 69 62 4f 70 74 69 |xt...pcu|.LibOpti|
|00001d30| 6f 6e 73 2e 55 73 65 53 | 63 72 69 70 74 46 69 6c |ons.UseS|criptFil|
|00001d40| 65 73 09 11 43 61 6c 6c | 45 78 65 63 48 6f 6f 6b |es..Call|ExecHook|
|00001d50| 45 76 65 6e 74 08 07 43 | 61 74 61 6c 6f 67 07 0d |Event..C|atalog..|
|00001d60| 43 61 74 61 6c 6f 67 2e | 4f 77 6e 65 72 00 00 0d |Catalog.|Owner...|
|00001d70| 54 53 53 45 76 65 6e 74 | 53 61 76 65 72 00 0e 53 |TSSEvent|Saver..S|
|00001d80| 63 72 69 70 74 65 72 45 | 76 65 6e 74 73 06 1f 42 |cripterE|vents..B|
|00001d90| 75 74 74 6f 6e 31 2e 4f | 6e 43 6c 69 63 6b 3d 70 |utton1.O|nClick=p|
|00001da0| 62 53 65 61 72 63 68 43 | 6c 69 63 6b 0d 0a 00 00 |bSearchC|lick....|
|00001db0| 00 00 00 0c 4d 61 6e 75 | 61 6c 46 6f 72 6d 61 74 |....Manu|alFormat|
|00001dc0| 07 07 73 6d 66 54 65 78 | 74 14 53 63 72 69 70 74 |..smfTex|t.Script|
|00001dd0| 52 65 73 6f 75 72 63 65 | 73 2e 47 55 49 44 06 26 |Resource|s.GUID.&|
|00001de0| 7b 45 31 37 44 30 39 46 | 44 2d 35 36 33 36 2d 34 |{E17D09F|D-5636-4|
|00001df0| 42 31 33 2d 42 44 35 32 | 2d 38 39 33 37 32 33 37 |B13-BD52|-8937237|
|00001e00| 36 33 30 44 32 7d 0f 53 | 63 72 69 70 74 52 65 73 |630D2}.S|criptRes|
|00001e10| 6f 75 72 63 65 73 0e 00 | 07 56 65 72 73 69 6f 6e |ources..|.Version|
|00001e20| 06 03 31 2e 30 00 00 0b | 47 72 6f 75 70 73 2e 47 |..1.0...|Groups.G|
|00001e30| 55 49 44 06 26 7b 46 39 | 38 32 30 41 36 36 2d 34 |UID.&{F9|820A66-4|
|00001e40| 30 38 32 2d 34 37 41 30 | 2d 39 44 34 32 2d 43 34 |082-47A0|-9D42-C4|
|00001e50| 44 33 36 31 38 37 39 35 | 45 39 7d 06 47 72 6f 75 |D3618795|E9}.Grou|
|00001e60| 70 73 0e 00 00 00 | |ps.... | |
+--------+-------------------------+-------------------------+--------+--------+